/*
 * @Author: hc
 * @Date: 2024-02-29 20:10:18
 * @LastEditTime: 2024-02-29 20:52:05
 * @LastEditors: hc
 * @Description: 表达式转换
 */
export type BizPoint = 'ruleDefinition' | 'ruleDefinitionVersion' | 'dataModelDesign' | 'earlyWarning';

export interface DefinitionRequest {
  /** 规则定义id */
  ruleDefinitionId: number;
  /**
   * - 0 输入参数
   * - 1 输出参数
   */
  fieldUse: 0 | 1;
}

export interface DefinitionVersionRequest {
  /** 规则定义id */
  ruleDefinitionVersionId: number;
  /**
   * - 0 输入参数
   * - 1 输出参数
   */
  fieldUse: 0 | 1;
}

export interface DataModelRequest {
  /** 业务编码 */
  bizCode: string;
  /** 表名 */
  tableName: string;
  /** 是否包含主表 */
  includeMasterTable: boolean;
}

export interface EarlyWarningRequest {
  /** 预警插件Id */
  earlyWarningPluginId: string;
}

export interface ValueType {
  /** 显示值 */
  label: string;
  /** 真实值(转换后) */
  value: string;
  /** 转换后数据 */
  origin?: any;
}

export interface ExpressProps {
  /** 业务类型 */
  bizPoint: BizPoint;
  /** 值 */
  value?: ValueType;
  /** 规则定义 */
  definitionRequest?: DefinitionRequest;
  /** 规则定义版本 */
  definitionVersionRequest?: DefinitionVersionRequest;
  /** 数据模型表列 */
  dataModelRequest?: DataModelRequest;
  /** 预警 */
  earlyWarningRequest?: EarlyWarningRequest;
}

export interface OpenExpressModelParams extends ExpressProps {
  /** 确认回调 */
  onOk?: (value: ValueType) => void;
  /** 取消回调 */
  onCancel?: () => void;
}
